<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org"
      xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"
      xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="../../../assert/css/font.css" th:href="@{/assert/css/font.css}"/>
    <link rel="stylesheet" href="../../../assert/css/bootstrap.min.css" th:href="@{/assert/css/bootstrap.min.css}"/>
    <link rel="stylesheet" href="../../../assert/css/plugin/chosen/chosen.css" th:href="@{/assert/css/plugin/chosen/chosen.css}"/>
    <link rel="stylesheet" href="../../../assert/css/bootstrap-table.css" th:href="@{/assert/css/bootstrap-table.css}"/>
    <link href="../../../assert/css/animate.min.css" rel="stylesheet" th:href="@{/assert/css/animate.min.css}">
    <link href="../../../assert/css/plugin/toastr/toastr.min.css" rel="stylesheet"
          th:href="@{/assert/css/plugin/toastr/toastr.min.css}">
    <link href="../../../assert/css/plugin/jsTree/style.min.css" rel="stylesheet"
          th:href="@{/assert/css/plugin/jsTree/style.min.css}">
    <link href="../../../assert/css/loaders.css" rel="stylesheet"
          th:href="@{/assert/css/loaders.css}">
    <link rel="stylesheet" href="../../../assert/css/index.css" th:href="@{/assert/css/index.css(v_=${@commonController.getSysConfigByPK('CACHE_CODE')})}"/>
</head>
<body>
<div class="wrapper wrapper-content">
    <div class="ibox">
        <div class="tools_bar">
            <div class="pull-left">
                <a href="#" class="btn btn-default active" id="refresh"><i class="fa fa-refresh"></i> 刷新</a>
            </div>
        </div>
        <div class="table_msg">
            <ul>
                <li><span id="monthlyAssess"></span> 质检结果明细</li>
                <li>质检任务名称：<span id="taskName"></span></li>
                <li>命中语音量：<span id="audioNum"></span></li>
                <li>分值：<span id="score"></span></li>
                <li><button class="btn btn-default" id="export">导出</button></li>
            </ul>
        </div>
        <table id="myTable"></table>
    </div>
</div>
<div th:text="${workId}" id="workId1" class="hidden"></div>
<div th:text="${workName}" id="workName1" class="hidden"></div>
<div th:text="${seatGroup}" id="seatGroup1" class="hidden"></div>
<div th:text="${seatId}" id="seatId1" class="hidden"></div>
<div th:text="${callStartTime}" id="callStartTime1" class="hidden"></div>
<div th:text="${callEndTime}" id="callEndTime1" class="hidden"></div>
<div th:text="${ruleId}" id="ruleId1" class="hidden"></div>
<div th:text="${id}" id="id1" class="hidden"></div>
<div th:text="${monthlyAssess}" id="monthlyAssess1" class="hidden"></div>
<form action="" id="exportForm" class="hidden" method="post">
    <input type="text" id="ids" name="id">
</form>
<a id="basePath" th:href="@{/}"></a>
<script src="../../../assert/js/jquery.js" th:src="@{/assert/js/jquery.js(v_=${@commonController.getSysConfigByPK('CACHE_CODE')})}"></script>
<script src="../../../assert/js/bootstrap.min.js" th:src="@{/assert/js/bootstrap.min.js(v_=${@commonController.getSysConfigByPK('CACHE_CODE')})}"></script>
<script src="../../../assert/js/plugin/bootstrap-table/bootstrap-table.min.js"
        th:src="@{/assert/js/plugin/bootstrap-table/bootstrap-table.min.js(v_=${@commonController.getSysConfigByPK('CACHE_CODE')})}"></script>
<script src="../../../assert/js/plugin/bootstrap-table/bootstrap-table-mobile.min.js"
        th:src="@{/assert/js/plugin/bootstrap-table/bootstrap-table-mobile.min.js}"></script>
<script src="../../../assert/js/plugin/bootstrap-table/locale/bootstrap-table-zh-CN.min.js"
        th:src="@{/assert/js/plugin/bootstrap-table/locale/bootstrap-table-zh-CN.min.js}"></script>
<script src="../../../assert/js/plugin/toastr/toastr.min.js"
        th:src="@{/assert/js/plugin/toastr/toastr.min.js}"></script>
<script src="../../../assert/js/base.js" th:src="@{/assert/js/base.js(v_=${@commonController.getSysConfigByPK('CACHE_CODE')})}"></script>
<script src="../../../assert/js/jquery-ui.min.js" th:src="@{/assert/js/jquery-ui.min.js}"></script>
<script src="../../../assert/js/plugin/layer/laydate/laydate.js"
        th:src="@{/assert/js/plugin/layer/laydate/laydate.js}"></script>
<script src="../../../assert/js/changeTime.js" th:src="@{/assert/js/changeTime.js(v_=${@commonController.getSysConfigByPK('CACHE_CODE')})}"></script>
<script src="../../../assert/js/plugin/jsTree/jstree.min.js"
        th:src="@{/assert/js/plugin/jsTree/jstree.min.js}"></script>
<script src="../../../assert/js/plugin/chosen/chosen.jquery.js" th:src="@{/assert/js/plugin/chosen/chosen.jquery.js}"></script>
<script src="../../../assert/js/contabs.min.js" th:src="@{/assert/js/contabs.min.js(v_=${@commonController.getSysConfigByPK('CACHE_CODE')})}"></script>
<script src="../../../assert/js/common.js"></script>
<script>
    //项目名称
    var basePath = $("#basePath").attr("href");
    var TableInit = function () {
        var oTableInit = new Object();
        var url = basePath + "/rest/my-accessment/get-data-list-id";
        //初始化Table
        oTableInit.Init = function (json) {
            $('#myTable').bootstrapTable("destroy");
            $('#myTable').bootstrapTable({
                data:json,
//                url: url,         //请求后台的URL（*）
//                method: 'post',                      //请求方式（*）
                cache: false,                       //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
                sortable: true,                     //是否启用排序
                sortName: "modelName", //排序方式
                sortOrder: "asc",                   //排序方式
                pagination: true,                   //是否显示分页（*）
//                queryParams: oTableInit.queryParams,//传递参数（*）
//                responseHandler: function (res) {
//                    if (res.code != 0) {
//                        toastrCog.error(res.msg, 3000);
//                    }
//                    tools.tableData=res.data;
//                    return {
//                        "total": res.count,//总页数
//                        "rows": res.data   //数据
//                    };
//                },
                sidePagination: "client",           //分页方式：client客户端分页，server服务端分页（*）
                search: false,                       //是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
                contentType: "application/x-www-form-urlencoded",
                strictSearch: true,
                showColumns: false,                  //是否显示所有的列
                showRefresh: false,                  //是否显示刷新按钮
                minimumCountColumns: 2,             //最少允许的列数
                clickToSelect: true,                //是否启用点击选中行
                uniqueId: "no",                     //每一行的唯一标识，一般为主键列
                showToggle: false,                    //是否显示详细视图和列表视图的切换按钮
                cardView: false,                    //是否显示详细视图
                detailView: false,
                silent: true,
                cellStyle: {
                    css: {"background-color": "#fff"}
                },//是否显示父子表
                onDblClickRow: function (row,elem) {
                    elem.find(".J_menuItem").click();
                },
                columns: [
//                    {
//                        checkbox: true, // 显示一个勾选框
//                        align: 'center' // 居中显示
//                    },
                    {
                        align: "center",
                        halign: "center",
                        title: '序号',//标题  可不加
                        width: 60,
                        formatter: function (value, row, index) {
                            var getOptions = $("#myTable").bootstrapTable('getOptions');
                            return (index + 1) + "";

                        }
                    },
                    {
                        align: "center",
                        halign: "center",
                        field: 'modelName',
                        title: '质检模型名称',
                        sortable: true
                    },
                    {
                        align: "center",
                        halign: "center",
                        field: 'ruleName',
                        title: '质检规则名称',
                        sortable: true
                    }, {
                        align: "center",
                        halign: "center",
                        field: 'useFor',
                        title: '属性',
                        sortable: true,
                        formatter: function (value, row, index) {
                            var str="";
                            if(value==0){
                                str="系统"
                            }else{
                                str="人工"
                            }
                            return str;

                        },
                    }, {
                        align: "center",
                        halign: "center",
                        field: 'fateful',
                        title: '致命性',
                        sortable: true,
                        formatter: function (value, row, index) {
                            var str="";
                            if(value==0){
                                str="否"
                                tools.noFateful++;
                            }else if (value == 1){
                                str="是"
                                tools.fateful++;
                            }
                            return str;
                        }
                    }, {
                        align: "center",
                        halign: "center",
                        field: 'ruleTimes',
                        title: '命中语音量',
                        sortable: true,
                        formatter: function (value, row, index) {
                            tools.ruleTimesTotal+=parseInt(value);
                            var workId=$("#workId1").text();
                            var callStartTime=$("#callStartTime1").text();
                            var callEndTime=$("#callEndTime1").text();
                            var seatId=$("#seatId1").text();
                            var ruleId=row.ruleId;
                            var ruleName=row.ruleName;
                            var params={
                                workId:workId,
                                callStartTime:callStartTime,
                                callEndTime:callEndTime,
                                seatId:seatId,
                                ruleName:ruleName,
                                ruleId:ruleId
                            };
                            var href=basePath+"/rest/page/hitAudioNum?"+$.param(params);
                            return '<a href="'+href+'" class="J_menuItem" title="查看详情" data-href="/rest/page/resultDetail" data-index="25" data-txt="命中语音">'+value+'</a>'

                        },
                    }, {
                        align: "center",
                        halign: "center",
                        field: 'score',
                        title: '分值',
                        sortable: true,
                        formatter: function (value, row, index) {
                            tools.scoreTotal+=parseInt(value);
                            return value;
                        }
                    }
                ],
                onLoadSuccess: function (data) {  //加载成功时执行
                    resize.me();
                    if (!data.total||data.total == 0) {
                        $(".no-records-found").find("td").html('<img src="../../../assert/image/nodata.png" th:src="@{/assert/image/nodata.png}" style="width:165px;" alt="">');
                    }
                    $("#audioNum").html(tools.ruleTimesTotal);
                    $("#score").html(tools.scoreTotal);
                    tools.ruleTimesTotal=0;
                    tools.scoreTotal=0;
                },
                onLoadError: function () {  //加载失败时执行
                    $(".no-records-found").find("td").html('<img src="../../../assert/image/nodata.png" th:src="@{/assert/image/nodata.png}" style="width:165px;" alt="">');
                },
                formatLoadingMessage: function () {
                    return '<div class="loaded">' +
                        '<div class="loader">' +
                        '<div class="loader-inner line-scale-pulse-out">' +
                        '<div></div>' +
                        '<div></div>' +
                        '<div></div>' +
                        '<div></div>' +
                        '<div></div>' +
                        '</div>' +
                        '</div>' +
                        '</div>'+
                        '<div>请稍等，数据正在加载中...</div>';
                }
            });
        };
        //得到查询的参数
        oTableInit.queryParams = function (params) {
            var temp = {   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
                id: $("#id1").text(),
                sortName: this.sortName,
                sortOrder: this.sortOrder,
            };
            return temp;
        };
        return oTableInit;
    };
    var resize = {
        init: function () {
            resize.me();
            $(window).resize(function () {
                resize.me();
            })
        },
        me: function () {
            var winW = $(window).width();
            var winH = $(window).height();
            $(".ibox").width(winW - 20);
            $(".ibox").height(winH - 20);
            bs.autoTableHeight($('#myTable'),winH -$(".tools_bar").height()-22-$(".table_msg").height())
        }
    };
    var tools={
        tableData:[],
        ruleTimesTotal:0,
        scoreTotal:0,
        init:function(){
            tools.refresh();
            tools.baseRender();
            tools.export();
        },
        tableRefresh: function () {
            $("#myTable").bootstrapTable('refreshOptions', {pageNumber:1});
            $("#myTable").bootstrapTable('refresh');
        },
        refresh:function(){
            $("#refresh").on("click",function(){
                getDate.init();
            })
        },
        baseRender:function(){
            $("#taskName").html($("#workName1").text());
            $("#monthlyAssess").html($("#monthlyAssess1").text());
        },
        export:function(){
            $("#export").on("click",function(){
                if(tools.tableData.length==0){
                    toastrCog.error("没有可导出的数据哦！")
                    return;
                }
                var form=$("#exportForm");
                form.attr("action",basePath+"/rest/my-accessment/export-my-ass-res");
                $("#ids").val($("#id1").text());
                form[0].submit();
            })

        }

    };
    var getDate={
        init:function(){
            $.ajax({
                type: "POST",
                url:basePath + "/rest/my-accessment/get-data-list-id",
                dataType: "json",
//                contentType: 'application/json',
                data:{   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
                    id: $("#id1").text()
                },
                success: function (data) {
                    var code=data.code;
                    if (code ==0) {
                        var result=data.data;
                        tools.tableData=result;
                        for(var i=0;i<result.length;i++){
                            tools.scoreTotal+=result[i].score;
                        }
                        $("#score").html(tools.scoreTotal);
                        tools.scoreTotal=0;
                        var oTable = new TableInit();
                        oTable.Init(result);
                    }
                }
            });
            getDate.getCountAll();
        },
        getCountAll:function(){
            $.ajax({
                type: "POST",
                url:basePath + "/rest/my-accessment/get-data-list-count-id",
                dataType: "json",
//                contentType: 'application/json',
                data:{   //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
                    id: $("#workId1").text(),
                    callStartTime: $("#callStartTime1").text(),
                    callEndTime: $("#callEndTime1").text(),
                    seatId: $("#seatId1").text(),
                },
                success: function (data) {
                    var code=data.code;
                    if (code ==0) {
                        var result=data.data;
                        $("#audioNum").html(result);
                    }
                }
            });
        }
    };
    $(function () {
        var oTable = new TableInit();
        oTable.Init([]);
        resize.init();
        tools.init();
        getDate.init();
    })
</script>
</body>
</html>